
        <html>
			<head>
			     <title>通用GPS卫星定位平台漏洞成灾用户位置信息告急 - 360安全卫士</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/11765">http://drops.wooyun.org/papers/11765</a></h1>
				
      <p>
        <p><strong>Author:<a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="dc8fa9b8b394bdbf9cefeaec3a486735446e397242357650397278">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></strong></p>

<h1>0x00 前言</h1>

<hr />

<p>近日，在新闻中曝光了多起通过GPS定位设备，跟踪绑架的事件（<a href="http://news.xinhuanet.com/legal/2015-11/15/c_128429526_2.htm">http://news.xinhuanet.com/legal/2015-11/15/c&#95;128429526&#95;2.htm</a>）。很多用户都来咨询，有没有方法进行检测？于是就在市面上购买了一些GPS定位设备进行研究，研究发现这些GPS定位系统后台采用的是通用的一套程序，其云平台上存在多个高危漏洞，攻击者利用漏洞可定位到使用该设备的任意用户或车辆的当前位置，历史轨迹，甚至可远程切断行驶车辆的油电。用户使用GPS定位的物品、人员都是非常有价值的，如果这类平台存在安全漏洞，反而将位置信息暴露给不法分子，这会对社会造成非常大的影响。</p>

<!--more-->

<h1>0x01 简介</h1>

<hr />

<p>我们在淘宝上搜索gps定位装置，发现绝大多数卖家销售的主流gps定位系统均为同一套程序，均受到漏洞影响。</p>

<p><img src="http://static.wooyun.org//drops/20160108/2016010808553251944.png" alt="p1" /></p>

<p>该系统的大致原理和架构如下：</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608004733021.png" alt="p2" /></p>

<p>在GPS定位装置里装有一张3G手机卡，定位装置获取到当前位置坐标后通过3g网络传输到云监控平台，用户通过pc或者移动设备登录监控平台，即可定位绑定在自己账号下的设备位置。</p>

<h1>0x02 漏洞详情</h1>

<hr />

<p>以下面这套月成交8000+，累计评价超过22000的定位装置为例。</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608027656431.png" alt="p3" /></p>

<p>其云平台使用.NET开发，登录界面如下：</p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060804742654.png" alt="p4" /></p>

<p>对于经销商，输入账号密码可控制其账号下所有设备，对于一般用户，选择输入IMEI和密码可定位单一的设备位置。 通过研究发现，在其云平台上，存在大量可未授权访问的webservice接口，我们通过协议规范调用这些接口，可获取任意用户的信息，修改其密码，甚至定位其位置。</p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060805523265.png" alt="p5" /></p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060807425496.png" alt="p6" /></p>

<p>通过接口将管理员的密码初始化，然后登录查看可以看到，仅仅这一个平台，就有超过25万的设备，当前在线设备就有2.7万。</p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060809997297.png" alt="p7" /></p>

<p>可以直接定位到这些设备的具体地理位置</p>

<p>可以获取到使用该设备的车辆及人员的具体信息（电话、车牌号、姓名等）</p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060810669318.png" alt="p8" /></p>

<p>可以定位到其车辆当前的具体位置：</p>

<p><img src="http://static.wooyun.org//drops/20160104/20160104060812490869.png" alt="p9" /></p>

<p>还可以通过历史数据分析车辆的行驶轨迹：</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608147891910.png" alt="p10" /></p>

<p>甚至可以直接远程切断行驶车辆的油电：</p>

<p><img src="http://static.wooyun.org//drops/20160104/2016010406081644516111.png" alt="p11" /></p>

<p>通过进一步的研究我们发现，该系统的webservice接口还存在有sql注入漏洞，通过在soap消息中插入恶意数据，我们甚至可直接控制该服务器。</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608173746712.png" alt="p12" /></p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608196776013.png" alt="p13" /></p>

<h1>0x03 漏洞影响</h1>

<hr />

<p>研究发现，这套商业化的GPS定位程序使用量非常大，用户遍布中国、欧洲、中东、非洲、东南亚等多个地区。</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608202523214.png" alt="p14" /></p>

<p>还包括一些中东地区，战乱地区都比较喜欢用GPS跟踪。这里就体现出GPS的应用场景了。</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608227097415.png" alt="p15" /></p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608241137516.png" alt="p16" /></p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608252007017.png" alt="p17" /></p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608278939018.png" alt="p18" /></p>

<p>而且我们发现这套gps定位程序不仅仅被用于车辆定位，还衍生出了儿童手表、人员定位器甚至宠物定位等多个版本。</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608293225819.png" alt="p19" /> 人员定位器</p>

<p><img src="http://static.wooyun.org//drops/20160104/201601040608303274620.png" alt="p20" /> 儿童手表</p>

<p><img src="http://static.wooyun.org//drops/20160104/2016010406083215665211.png" alt="p21" /> 宠物定位</p>

<p>我们从淘宝销售的gps定位装置中选择了多个销量较大的商家测试，发现绝大多数平台都存在漏洞，总数超过了100万台，以下是做的部分统计：</p>

<table>
<thead>
<tr>
  <th align="left">商家</th>
  <th align="left">总设备数量</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="left">www.tourrun.net</td>
  <td align="left">496805</td>
</tr>
<tr>
  <td align="left">www.zg666gps.com</td>
  <td align="left">253426</td>
</tr>
<tr>
  <td align="left">www.indlifelocate.com</td>
  <td align="left">252980</td>
</tr>
<tr>
  <td align="left">ry.i365gps.com</td>
  <td align="left">93638</td>
</tr>
<tr>
  <td align="left">www.gpsjm.com</td>
  <td align="left">55451</td>
</tr>
<tr>
  <td align="left">gps.zg002gps.com</td>
  <td align="left">42993</td>
</tr>
<tr>
  <td align="left">www.mkcx.net</td>
  <td align="left">41894</td>
</tr>
<tr>
  <td align="left">www.aika168.com</td>
  <td align="left">40586</td>
</tr>
<tr>
  <td align="left">www.xmsyhy.com</td>
  <td align="left">12645</td>
</tr>
<tr>
  <td align="left">www.twogps.com</td>
  <td align="left">3587</td>
</tr>
<tr>
  <td align="left">www.lkgps.net</td>
  <td align="left">3434</td>
</tr>
<tr>
  <td align="left">ec-dbo.cn</td>
  <td align="left">2961</td>
</tr>
</tbody>
</table>

<h1>0x04 安全建议</h1>

<hr />

<p><strong>如何发现自己的车辆有没有被人装上定位器？</strong></p>

<p>很多人看到新闻都产生了顾虑，生怕自己的车辆是否被装上了定位器。这里可以告诉大家几个思路去排除，首先这类定位器是装有强磁铁的，所以车上除了这个定位器以外不会有其它的强磁设备，可以去一些磁力检测仪来检测。第二种方法是GPS定位系统是需要用GPS信号的定位车辆的，可以在一个信号屏蔽的环境下检测车辆是否有GPS信号。第三个就是通过利用云平台的漏洞检测自己的车辆轨迹是否被跟踪，这也是没有办法中的办法了。</p>

<p><strong>以后如何选用GPS定位平台？</strong></p>

<p>GPS定位的需求很多，因为GPS定位一方面是为了保障用户，但是存在漏洞的被不法分子利用的话，就成了暴露用户位置信息的一条路径，往往需要GPS定位的都是有价值的东西，这就成了攻击者的一块福地。对于GPS产品应当选用可靠的，大品牌的产品。购买前应当在网上搜索一下有没有相关的安全漏洞。如果购买了产品发现有漏洞，建议用户停止使用，等待厂商更新平台漏洞。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          